// async await es7
// 没有抛弃 Promise ，抛弃了烦人的 thenable 链条

function sleep(time) {
    // 耗时任务，封装在Promis内部，通过resolve实现异步同步化
    return new Promise((resolve) => {
        setTimeout(resolve, time);
    })
}

// async 函数 异步
(async function () {
    // 此函数内部的异步任务，如果是 用Promise封装 的话，可以实现同步化效果
    console.log('Do some thing,' + new Date());
    // await 右边的返回值 是Promise实例 ， 实现阻塞，resolve 后通
    await sleep(3000);// await 是和 async 一起出来的
    await sleep(3000);
    console.log('Do some thing,' + new Date());
})();

sleep(2000)
